package com.yf.train.modules.train.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yf.train.modules.train.dto.RepoTrainQuDTO;
import com.yf.train.modules.train.dto.ext.TrainQuDetailDTO;
import com.yf.train.modules.train.entity.RepoTrainQu;

import java.util.List;

/**
* <p>
* 题库训练题目业务接口类
* </p>
*
* @author 聪明笨狗
* @since 2022-03-01 18:42
*/
public interface RepoTrainQuService extends IService<RepoTrainQu> {


    /**
     * 构建训练
     * @param trainId
     * @param repoId
     * @param mode
     * @param clear
     * @return
     */
    String build(String trainId, String repoId, Integer mode, Boolean clear);


    /**
     * 查找详情
     * @param trainId
     * @param quId
     * @param mode
     * @return
     */
    TrainQuDetailDTO detail(String trainId, Integer mode, String quId);


    /**
     * 查询训练列表，形成答题卡列表
     * @param trainId
     * @return
     */
    List<RepoTrainQuDTO> listCard(String trainId);


    /**
     * 根据组合键获取题目
     * @param trainId
     * @param quId
     * @return
     */
    RepoTrainQu getByKey(String trainId, String quId);

    /**
     * 清理训练细节
     * @param trainId
     */
    void clear(String trainId);

    /**
     * 保存训练答题信息
     * @param detail
     */
    void saveAll(TrainQuDetailDTO detail);

}
